package com.ddpt.platform.common.export.vo.order;

import com.ddpt.platform.common.export.Export;
import com.ddpt.platform.common.export.vo.QueryDataVo;
import lombok.Getter;
import lombok.Setter;

/**
 * 订单详情导出
 *
 * @author : zhanggsc
 * @Data : 2023/3/7 14:02
 */
@Getter
@Setter
public class OrderInfoVo extends QueryDataVo {

    @Export(value = "微信卡券ID",isStr = true)
    private String wxCouponId;

    @Export(value = "订单id",isStr = true)
    private String id;

    @Export(value = "订单归属",key = {"goods","activity_ticket"},val = {"商品","活动的区域门票"})
    private String belong;

    @Export(value = "业务类型",key = {"activity","mall","member"},val = {"活动","商城","会员"})
    private String businessType;

    @Export(value = "业务类型对应的id",isStr = true)
    private Long businessId;

    @Export(value = "商品类型",key = {"recharge","systemCoupon","externalCoupon","cardPassword","real","currency","pack","discountCoupon"}
            ,val = {"充值卡","内部优惠券","外部卡券","卡密类","实物","代币类","礼品包","立减金券"})
    private String goodsType;

    @Export(value = "主订单id(默认0-自己就是主订单)",isStr = true)
    private Long mainOrderId;

    @Export("订单标题")
    private String title;

    @Export("规格名称")
    private String productName;

    @Export("商品名称")
    private String goodsName;

    @Export("订单缩略图地址")
    private String thumbnailUrl;

    @Export("订单描述")
    private String detail;

    @Export(value = "支付类型",key = {"none","wx","aliPay","heMiPay"},val = {"无支付方式","微信支付","支付宝支付","合米支付"})
    private String payType;

    @Export(value = "支付配置id",isStr = true)
    private Long payConfigId;

    @Export("订单编号")
    private String orderNo;

    @Export("渠道商订单号")
    private String channelOrderNo;

    @Export(value = "商品所属商家id",isStr = true)
    private Long storeId;

    @Export(value = "商品所属商家配置id",isStr = true)
    private Long storeConfigId;

    @Export(value = "商家商品id",isStr = true)
    private Long storeGoodsId;

    @Export(value = "商家商品的规格id",isStr = true)
    private Long storeProductId;

    @Export(value = "业务商品/代币id",isStr = true)
    private Long businessGoodsId;

    @Export(value = "业务商品的规格id",isStr = true)
    private Long businessProductId;

    @Export("商品数量")
    private Integer goodsNum;

    @Export(value = "支付需要花费的代币id",isStr = true)
    private Long payOfCurrencyId;

    @Export("支付需要花费的代币数量")
    private Integer payOfCurrencyCount;

    @Export("商品支付单价-分")
    private Integer payOfMoney;

    @Export(value = "下单用户id",isStr = true)
    private Long userId;

    @Export("下单用户手机号码")
    private String userPhone;

    @Export(value = "订单大状态",key = {"0","1","2","3","4","5","6","7","8"}
            ,val = {"待支付","待选规格","待领取","待发货","待收货","已完成","已关闭","领取失败","充值中"})
    private Integer status;

    @Export(value = "订单关闭原因",key = {"pay_time_out","cancel","refund","normal"}
            ,val = {"超时未支付","主动取消订单","已退款完成","自动关闭"})
    private String closeReason;

    @Export(value = "订单退款退货当前所属步骤",key = {"not_refund","money_refund","stock_refund","all_refund"}
            ,val = {"未处理退还","已退款","已归还","已全部完成"})
    private String refundStep;

    @Export(value = "订单当前需要的服务类型",key = {"normal","refund","reissue"},val = {"正常订单服务","退款服务","补发服务"})
    private String serveType;

    @Export("原价需要代币数量")
    private Integer originCurrencyCount;

    @Export("原价需要现金价格-分")
    private Integer originMoney;

    @Export(value = "支付成功时间",isTime = true)
    private Long payTime;

    @Export(value = "支付自动过期时间",isTime = true)
    private Long payExpireTime;

    @Export(value = "订单完成时间",isTime = true)
    private Long finishTime;

    @Export(value = "自动收货时间",isTime = true)
    private Long autoReceiveTime;

    @Export(value = "中止售后服务时间",isTime = true)
    private Long stopServiceTime;

    @Export("订单异常信息")
    private String errMsg;

    @Export(value = "异常订单状态",key = {"0","1"},val = {"未处理","已受理"})
    private Integer excHandleStatus;

    @Export("原价")
    private Integer costPrice;

    @Export("商家名称")
    private String merchantName;

    @Export("结算价格")
    private Integer settlePrice;

    @Export(value = "提货时间",isTime = true)
    private Long pickUpTime;

//    @Export(value = "礼品包",key = {"-1","1"},val = {"全选","选一个"})
//    private Integer packType;

    @Export("代币名称")
    private String currencyName;

    @Export("组织名称")
    private String insName;

    @Export("商品使用说明")
    private String goodsDesc;

    @Export("商家名称")
    private String storeName;

    @Export("商家电话")
    private String storePhone;

    @Export("异常订单状态")
    private String exceptionStatus;

    @Export("售后状态")
    private String serviceStatus;

    @Export("充值账号")
    private String userAccount;

    @Export("用户唯一标识")
    private String unionId;

    @Export("收货地省名")
    private String receiveProvinceName;

    @Export("收货地市名")
    private String receiveCityName;
    @Export("收货地区名")
    private String receiveAreaName;

    @Export("收货地街道名")
    private String receiveTownName;
    @Export("收货地详细地址")
    private String receiveAddress;
    @Export("收货用户姓名")
    private String receiveUserName;
    @Export("收货用户手机号")
    private String receiveUserPhone;


}
